﻿Imports Logica

Public Class Usuarios
    Private ucRegistrar As New RegistrarUsuario
    Private ucBuscar As New BuscarUsuario

    ''' <summary>
    ''' Carga las pantallas de usuarios.
    ''' </summary>
    ''' <remarks>Creado por: Elías Baldioceda, Fecha: 11/06/2010, Modificado: 27/06/2010</remarks>
    Private Sub Usuarios_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim usuario As Hashtable
        Dim ubicacion As New Point(152, 0)

        ' Buscar
        ucBuscar.Visible = False
        ucBuscar.Location = ubicacion

        ' Registrar
        ucRegistrar.Visible = False
        ucRegistrar.Location = ubicacion

        ' Agrega los controles
        Me.Controls.Add(ucBuscar)
        Me.Controls.Add(ucRegistrar)

        ' Permisos
        usuario = Gestor.usuarioActual()

        ' Permiso de buscar usuario.
        If Not Gestor.usuarioTienePermiso(usuario("identificacion"), 7) Then
            tvUsuarios.Nodes("ndBuscar").Remove()
        End If

        ' Permiso de registrar usuario.
        If Not Gestor.usuarioTienePermiso(usuario("identificacion"), 8) Then
            tvUsuarios.Nodes("ndRegistrar").Remove()
        End If
    End Sub

    ''' <summary>
    ''' Manda a mostrar la pantalla en base a la selección.
    ''' </summary>
    ''' <remarks>Creado por: Elías Baldioceda, Fecha: 11/06/2010, Modificado: 11/06/2010</remarks>
    Private Sub tvUsuarios_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles tvUsuarios.AfterSelect
        Select Case e.Node.Name
            Case "ndBuscar"
                mostrar(ucBuscar)
            Case "ndRegistrar"
                mostrar(ucRegistrar)
        End Select
    End Sub

    ''' <summary>
    ''' Esconde todos los controles de usuario y muestra uno.
    ''' </summary>
    ''' <param name="p_uc">Control de usuario a mostrar.</param>
    ''' <remarks>Creado por: Elías Baldioceda, Fecha: 11/06/2010, Modificado: 11/06/2010</remarks>
    Public Sub mostrar(ByVal p_uc As UserControl)
        ' Escondemos todas las pantallas
        For Each uc As Control In Me.Controls
            If TypeOf uc Is UserControl Then
                uc.Visible = False
            End If
        Next

        ' Mostramos la que se pidió
        p_uc.Visible = True
    End Sub
End Class
